Thực đơn
Đối_tượng_bất_biến Khái niệmTrong lập trình mệnh lệnh, giá trị được giữ trong biến chương trình mà nội dung không bao giờ bị thay đổi được gọi là hằng số (constant) để phân biệt với những biến mà có thể được thay đổi trong quá trình thực thi. Ví dụ như hệ số chuyển đổi từ đơn vị met sang feet, hay giá trị của số pi với độ chính xác đến nhiều số thập phân.
Những trường chỉ đọc (read-only field) có thể được tính khi chương trình chạy (không như hằng số vốn được biết trước), nhưng không bao giờ thay đổi sau khi đã được khởi tạo.
Đôi khi, khi ai đó nói những trường nhất định của đối tượng là bất biến. Điều đó có nghĩa không có cách nào thay đổi những phần của trạng thái đối tượng, mặc dù những phần khác của đối tượng có thể được thay đổi (bất biến yếu - weakly immutable). Nếu tất cả các trường là bất biến, thì đối tượng đó cũng bất biến. Nếu toàn bộ đối tượng không thể được mở rộng bởi các lớp khác, đối tượng đó được gọi là bất biến mạnh (strongly immutable).[3]
Trong hầu hết các ngôn ngữ hướng đối tượng, đối tượng có thể được tham chiếu đến bằng cách sử dụng tham chiếu. Một số ví dụ về các ngôn ngữ như vậy là Java, C++, C#, VB.NET, và nhiều ngôn ngữ lập trình kịch bản, như Python và Ruby. Trong trường hợp này, trạng thái của một đối tượng có thể thay đổi khi các đối tượng được chia sẻ qua tham chiếu.
Nếu một đối tượng được xem là bất biến, nó có thể được sao chép một cách đơn giản bằng cách tạo một bản sao của một tham chiếu tới nó thay vì phải sao chép toàn bộ đối tượng. Bởi vì một tham chiếu (thưởng chỉ có kích thước của một [[Con trỏ (khoa học máy tính)|con trỏ) sẽ nhỏ hơn rất nhiều so với chính đối tượng đó, điều này dẫn đến tiết kiệm bộ nhớ và khả năng tăng tốc độ thực hiện.
Kĩ thuật sao chép tham chiếu sẽ khó hơn nhiều cho đối tượng biến đổi, bởi vì nếu người dùng tham chiếu đến một đối tượng biến đổi và thay đổi nó, những người dùng khác có tham chiếu đến nó cũng sẽ nhìn thấy sự thay đổi đó. Đó không phải là hiệu ứng trong dự tính, sẽ khó khăn để thông báo cho những người dùng khác để họ phản hồi chính xác. Trong trường hợp đó, sao chép phòng thủ toàn bộ đối tượng thay vì chỉ mỗi tham chiếu sẽ là giải pháp dễ dàng hơn mặc dù tốn kém hơn. Mẫu observer pattern là một kĩ thuật thay thế để xử lý thay đổi cho các đối tượng biến đổi.
Thực đơn
Đối_tượng_bất_biến Khái niệmLiên quan
Đối tác chiến lược, đối tác toàn diện (Việt Nam) Đối tác đáng ngờ Đối thoại 06 Đối tượng truyền thông Đối tượng bất biến Đối tượng lao động Đối tượng Đối tượng thuộc di sản văn hóa ở Ba Lan Đối tác chiến lược Đối tượng (khoa học máy tính)Tài liệu tham khảo
WikiPedia: Đối_tượng_bất_biến http://c2.com/cgi/wiki?ImmutableObject http://www.javapractices.com/Topic29.cjp http://www.javaranch.com/journal/2003/04/immutable... http://www.oxfordlearnersdictionaries.com/definiti... http://www.yegor256.com/2014/06/09/objects-should-... https://persistent.codeplex.com/ https://msdn.microsoft.com/en-us/library/system.co... https://facebook.github.io/immutable-js/ https://web.archive.org/web/20101020235317/http://... https://www.nuget.org/packages/System.Collections....